package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ly.common.core.domain.BaseEntity;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 物料销售信息对象 erp_material_sale
 *
 * @author wutao
 * @date 2024-07-04
 */
@TableName("erp_material_sale")
@ApiModel(value = "erp_material_sale对象", description = "物料销售信息")
@Data
public class MaterialSaleEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * 物料销售id
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 物料id
     */
    @ApiModelProperty("物料id")
    @TableField("material_id")
    @Excel(name = "物料id")
    private String materialId;

    /**
     * 销售单位
     */
    @ApiModelProperty("销售单位")
    @TableField("sale_unit")
    @Excel(name = "销售单位")
    private String saleUnit;

    /**
     * 销售计价单位
     */
    @ApiModelProperty("销售计价单位")
    @TableField("sale_pricing_unit")
    @Excel(name = "销售计价单位")
    private String salePricingUnit;

    /**
     * 起订量
     */
    @ApiModelProperty("起订量")
    @TableField("start_order_num")
    @Excel(name = "起订量")
    private Long startOrderNum;

    /**
     * 超发控制单位
     */
    @ApiModelProperty("超发控制单位")
    @TableField("control_surpass_unit")
    @Excel(name = "超发控制单位")
    private String controlSurpassUnit;

    /**
     * 超发上限
     */
    @ApiModelProperty("超发上限")
    @TableField("surpass_up")
    @Excel(name = "超发上限")
    private String surpassUp;

    /**
     * 超发下限
     */
    @ApiModelProperty("超发下限")
    @TableField("surpass_down")
    @Excel(name = "超发下限")
    private String surpassDown;

    /**
     * 代理销售减价比例
     */
    @ApiModelProperty("代理销售减价比例")
    @TableField("sale_down_price")
    @Excel(name = "代理销售减价比例")
    private String saleDownPrice;

    /**
     * 税收分类编码
     */
    @ApiModelProperty("税收分类编码")
    @TableField("tax_type_code")
    @Excel(name = "税收分类编码")
    private String taxTypeCode;

    /**
     * 税收优惠政策类型
     */
    @ApiModelProperty("税收优惠政策类型")
    @TableField("tax_type")
    @Excel(name = "税收优惠政策类型")
    private String taxType;

    /**
     * 享受税收优惠政策（0否1是）
     */
    @TableField("is_favourable_tax")
    @ApiModelProperty("享受税收优惠政策")
    @Excel(name = "享受税收优惠政策", readConverterExp = "0=否1是")
    private String isFavourableTax;

    /**
     * 销售组dialog
     */
    @ApiModelProperty("销售组dialog")
    @TableField("sale_group")
    @Excel(name = "销售组dialog")
    private String saleGroup;

    /**
     * ATP检查0否1是
     */
    @ApiModelProperty("ATP检查0否1是")
    @TableField("atp_check")
    @Excel(name = "ATP检查0否1是")
    private String atpCheck;

    /**
     * 允许退货0否1是
     */
    @ApiModelProperty("允许退货0否1是")
    @TableField("allow_returns")
    @Excel(name = "允许退货0否1是")
    private String allowReturns;

    /**
     * 不参与可发量统计0否1是
     */
    @ApiModelProperty("不参与可发量统计0否1是")
    @TableField("drop_out_count")
    @Excel(name = "不参与可发量统计0否1是")
    private String dropOutCount;

    /**
     * 允许发布订货平台0否1是
     */
    @ApiModelProperty("允许发布订货平台0否1是")
    @TableField("allow_release_order")
    @Excel(name = "允许发布订货平台0否1是")
    private String allowReleaseOrder;



    @ApiModelProperty("保修期")
    @TableField("FWARRANTY")
    @Excel(name = "保修期")
    private String FWARRANTY;

    @ApiModelProperty("保修期单位")
    @TableField("FWARRANTYUNITID")
    @Excel(name = "保修期单位")
    private String FWARRANTYUNITID;

    @ApiModelProperty("启用售后服务")
    @TableField("FISAFTERSALE")
        @Excel(name = "启用售后服务")
    private String FISAFTERSALE;

    @ApiModelProperty("生成产品档案")
    @TableField("FISPRODUCTFILES")
    @Excel(name = "生成产品档案")
    private String FISPRODUCTFILES;

    @ApiModelProperty("是否保修")
    @TableField("FISWARRANTED")
    @Excel(name = "是否保修")
    private String FISWARRANTED;

    @ApiModelProperty("部件可退")
    @TableField("FIsReturnPart")
    @Excel(name = "部件可退")
    private String FIsReturnPart;

    @ApiModelProperty("销售出库替代物料")
    @TableField("sale_outbound")
    @Excel(name = "销售出库替代物料")
    private String saleOutbound;

    /**
     * 是否使用(1是0否)
     */
    @ApiModelProperty ( "是否使用(1是2否)" )
    @TableField (value = "is_used")
    @TableLogic
    @Excel ( name = "是否使用(1是2否)" )
    private Integer isUsed;


}
